Subject: re:rim/sim in dlsw sdlc

From: "jim (j.) cobban" <[email-masked]>
Date: Thu, 9 Mar 1995 11:23:00 -0500

In message "rim/sim in dlsw sdlc", Madhukar Khare writes:

>	I am working on some enhancements of the SDLC features in our 
>	version 1 DLSw products.  I have a basic question about SDLC. 
>	Are RIM  (Request Init. Mode) and SIM (Set Init. Mode) 
>	universally used for initializing link-level functions or are 
>	they implementation dependent ? If they are optional, then how 
>	would the remote station know if RIM/SIM are being used ?
>
The only SNA implementation which uses RIM/SIM is the 3745 NCP for remote
initial program load over an SDLC line.  The significance of this as a
capability has been substantially reduced in recent years by two
enhancements to the NCP.  It is now possible to transmit a replacement load
module over an already running transmission group through the SSCP-PUCP
session.  The NCP writes this load module to the hard-disk.  A subsequent
command from VTAM causes the 3745 to reload from the new module.  This is
much preferable since it minimizes the down-time to reload the NCP.  This
leaves only the requirement to load the very first NCP into the box.  IBM
now supports loading from a floppy which is "sneaker-netted" to the 3745.

In general therefore in a real network you will generally only see RIM/SIM
on an older front-end, such as a 3725 or 3705. (Yes, we have a customer in
Morocco running 3705s!)

A remote station will normally only see a SIM if it had explicitly
transmitted a RIM.  The sequence is documented in appendix E of the obsolete
GA27-3136-6, the last version of the SNA Formats document to describe PU 4.

   Local NCP                      Remote NCP
	         eXchange ID
	............................>
		 Frame Reject
	<............................
	   Set Normal Response Mode
	............................>
	      Request Init Mode
	<............................
	        Set Init. Mode
	............................>
	        Unnumbered Ack
	<............................
	     Info. Frame (IPLINIT)
	............................>
	      Info. Frame (+RSP)
	<............................

 1) The NCP first assumes that the adjacent node is loaded with an
    instance of the NCP which supports ER/VR protocols, and therefore 
    sends a format 2 XID.
 2) The remote FEP is running the remote program loader, which is an
    extremely stripped down instance of NCP which only knows how to perform
    the load procedure over SDLC.  That level of NCP does not understand
    XID so it rejects the frame.  This is technically a violation of
    ISO 4335 which says that FRMR is only to be sent in an operational mode.
 3) The local NCP knows that the remote FEP is powered up but there remains
    the possibility that it is running a pre ER/VR level of NCP.  It
    therefore attempts to enter Normal Response Mode by sending a SNRM.
 4) The remote program loader responds with RIM.
 5) The local NCP now knows that the remote FEP requires loading so it asks
    VTAM for the required load module and sends a SIM to the remote FEP.
 6) Initialization mode is identical to NRM except that it is half-duplex
    and only one frame at a time is sent in each direction as a consequence
    of the higher level protocol.

The meaning and purpose of initialization mode is implementation dependent.
APPN supports negotiating support, but does not define any use of this
capability.